package com.shuaigexue.exam.exceptionhandlers;

import com.shuaigexue.exam.common.Result;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @ClassName: GlobalExceptionHandler
 * @Description: 全局异常处理类
 * // todo 最主要的两个注解
 * @RestControllerAdvice : 作用范围是所有Controller，返回数据时，返回的数据格式为JSON
 * @ExceptionHandler : 作用范围是所有方法，处理所有抛出的异常
 * @Author: zhaoxue
 * @Date: 2025/10/28 14:09
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    @ExceptionHandler(Exception.class)
    public Result<String> exceptionHandler(Exception e) {
        e.printStackTrace();// 错误的堆栈信息打印
        log.error("代码出现异常，异常信息为：{}",e.getMessage());
        return Result.error(e.getMessage());
    }
}